package com.ruoyi.system.mapper;

import java.util.List;
import com.ruoyi.system.domain.OfflinePurchase;
import com.ruoyi.system.domain.TbCustomerOrder;
import org.apache.ibatis.annotations.Mapper;

/**
 * 商品信息 ：与店铺关联Mapper接口
 * 
 * @author wh
 * @date 2024-09-18
 */
@Mapper
public interface OfflinePurchaseMapper 
{
    /**
     * 查询商品信息 ：与店铺关联
     * 
     * @param productId 商品信息 ：与店铺关联主键
     * @return 商品信息 ：与店铺关联
     */
    public OfflinePurchase selectOfflinePurchaseByProductId(Long productId);

    /**
     * 查询商品信息 ：与店铺关联列表
     * 
     * @param offlinePurchase 商品信息 ：与店铺关联
     * @return 商品信息 ：与店铺关联集合
     */
    public List<OfflinePurchase> selectOfflinePurchaseList(OfflinePurchase offlinePurchase);

    /**
     * 新增商品信息 ：与店铺关联
     * 
     * @param offlinePurchase 商品信息 ：与店铺关联
     * @return 结果
     */
    public int insertOfflinePurchase(OfflinePurchase offlinePurchase);

    /**
     * 修改商品信息 ：与店铺关联
     * 
     * @param offlinePurchase 商品信息 ：与店铺关联
     * @return 结果
     */
    public int updateOfflinePurchase(OfflinePurchase offlinePurchase);

    /**
     * 删除商品信息 ：与店铺关联
     * 
     * @param productId 商品信息 ：与店铺关联主键
     * @return 结果
     */
    public int deleteOfflinePurchaseByProductId(Long productId);

    /**
     * 批量删除商品信息 ：与店铺关联
     * 
     * @param productIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteOfflinePurchaseByProductIds(Long[] productIds);

    /**
     * 批量删除订单管理
     * 
     * @param productIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteTbCustomerOrderByMerchantIds(Long[] productIds);
    
    /**
     * 批量新增订单管理
     * 
     * @param tbCustomerOrderList 订单管理列表
     * @return 结果
     */
    public int batchTbCustomerOrder(List<TbCustomerOrder> tbCustomerOrderList);
    

    /**
     * 通过商品信息 ：与店铺关联主键删除订单管理信息
     * 
     * @param productId 商品信息 ：与店铺关联ID
     * @return 结果
     */
    public int deleteTbCustomerOrderByMerchantId(Long productId);
}
